<html>
<head><meta charset="utf-8"><title>ui extern crates...what to do · clippy · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/index.html">clippy</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html">ui extern crates...what to do</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="241558357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241558357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241558357">(Jun 04 2021 at 16:13)</a>:</h4>
<p>Clippy has a unique requirement of supporting external crates (like serde) in ui tests. This has caused a lot of headaches</p>
<ul>
<li>not supported by compiletest so we need a hacky <a href="https://github.com/rust-lang/rust-clippy/blob/9991040258b838ad90b1f87bb635c62f17268448/tests/compile-test.rs#L35">solution</a></li>
<li>seems to cause issues in the rustc repo <a href="https://github.com/rust-lang/rust/issues/76495">#76495</a></li>
<li>causes "multiple rlibs" errors when testing</li>
</ul>
<p>I think we need to pick a long-term solution. One idea I came up with is - just simply get rid of this requirement. That means re-writing some tests to be independent of third-party crates. I think this might not be too hard?</p>
<p>Otherwise, I think the only other option is to add proper support to compiletest. But this seems difficult to do right since cargo holds all the cards when it comes to a shared target dir.</p>



<a name="241559856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241559856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241559856">(Jun 04 2021 at 16:24)</a>:</h4>
<p>doesn't compiletest invoke cargo itself? you can override the target dir with <code>CARGO_TARGET_DIR</code></p>



<a name="241559939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241559939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241559939">(Jun 04 2021 at 16:25)</a>:</h4>
<p>I thought compiletest just invokes rustc</p>



<a name="241560118"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241560118" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241560118">(Jun 04 2021 at 16:26)</a>:</h4>
<p>either compiletest invokes cargo, in which case it can control the dir with CARGO_TARGET_DIR, or it only invokes rustc, in which case you can pass <code>--out-dir</code>. Either way you control the target directory.</p>



<a name="241560516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241560516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241560516">(Jun 04 2021 at 16:29)</a>:</h4>
<p>Well right now we use a shared target dir so that ui tests can use crates in dev-dependencies. This has a bonus of not having to re-compile some dependencies. And the rustc bootstrapping process seems to favor shared target dirs. Using a separate dir might fix it, but I don't know if we're willing to use a fresh target dir just for clippy's ui tests.</p>



<a name="241561046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241561046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241561046">(Jun 04 2021 at 16:33)</a>:</h4>
<p>I think you should see how long the test takes with and without the shared dir. If it's similar, then just use the new dir and that's that.</p>



<a name="241561347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241561347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> flip1995 <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241561347">(Jun 04 2021 at 16:34)</a>:</h4>
<p>We can't really remove the external crate deps, without removing some lints. We have lints, that lint the usage of serde and regex, for example.</p>



<a name="241561756"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241561756" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241561756">(Jun 04 2021 at 16:38)</a>:</h4>
<p>I think what we could do is have a "dummy crate" that compiles to a different target and then pass that target folder to "-L folder" in compiletest.</p>



<a name="241561874"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241561874" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241561874">(Jun 04 2021 at 16:39)</a>:</h4>
<p>Why do you need the dummy crate? Cargo will create the directory if it doesn't already exist</p>



<a name="241561885"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241561885" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241561885">(Jun 04 2021 at 16:39)</a>:</h4>
<p>(or you can just create it yourself)</p>



<a name="241562178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241562178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241562178">(Jun 04 2021 at 16:41)</a>:</h4>
<p>we need a separate crate with a separate target dir so that it doesn't have conflicting rlib files</p>



<a name="241562296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241562296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241562296">(Jun 04 2021 at 16:42)</a>:</h4>
<p>Right, but I don't understand why you can't pass <code>-L folder</code> unconditionally; why does there need to be a crate in it?</p>



<a name="241562461"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241562461" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241562461">(Jun 04 2021 at 16:44)</a>:</h4>
<p><code>-L folder</code> can be unconditional. We just need another crate to declare the dependencies that get bulit and put in the folder.</p>



<a name="241562538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241562538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241562538">(Jun 04 2021 at 16:44)</a>:</h4>
<blockquote>
<p>We just need another crate to declare the dependencies that get bulit and put in the folder.</p>
</blockquote>
<p>I don't understand why this is true. Sorry if I'm being dense. What happens if you don't build a dummy crate first?</p>



<a name="241562604"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241562604" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241562604">(Jun 04 2021 at 16:45)</a>:</h4>
<p>is it because you're using cargo and there's no way to tell cargo to only build dependencies?</p>



<a name="241562782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241562782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241562782">(Jun 04 2021 at 16:46)</a>:</h4>
<p>the dependencies need to be built before running compiletest</p>



<a name="241564103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241564103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241564103">(Jun 04 2021 at 16:56)</a>:</h4>
<p>Maybe we can do the dummy crate thing but it is used for local dev only somehow? Not for CI.</p>



<a name="241564204"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241564204" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241564204">(Jun 04 2021 at 16:57)</a>:</h4>
<p>I think I have a fundamental misunderstanding somewhere; if you have an idea how it should work go for it :)</p>



<a name="241564367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241564367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> flip1995 <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241564367">(Jun 04 2021 at 16:59)</a>:</h4>
<p>I think what Cam wants to do is to stop using external crates in our test and instead put dummy crates for serde, regex, ... into the Clippy repo to test with those.</p>



<a name="241564514"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241564514" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241564514">(Jun 04 2021 at 16:59)</a>:</h4>
<p>ahhh ok that makes sense</p>



<a name="241565045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241565045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241565045">(Jun 04 2021 at 17:02)</a>:</h4>
<p>sorry if I'm not clear. just one dummy crate (call it <code>ui_deps</code>) which has all the deps like serde and it gets compiled to, say, <code>target/ui_deps</code>. Then in compile-test, we can pass <code>-L target/ui_deps</code> instead of <code>-L target/deps</code> (or whatever it is)</p>



<a name="241565119"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241565119" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241565119">(Jun 04 2021 at 17:03)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232545">Joshua Nelson</span> <a href="#narrow/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do/near/241562604">said</a>:</p>
<blockquote>
<p>is it because you're using cargo and there's no way to tell cargo to only build dependencies?</p>
</blockquote>
<p>ok, so because of this ^</p>



<a name="241565133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241565133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241565133">(Jun 04 2021 at 17:03)</a>:</h4>
<p>you don't inherently need a dummy crate, it's just a cargo limitation</p>



<a name="241565297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241565297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241565297">(Jun 04 2021 at 17:04)</a>:</h4>
<p>maybe. if we could tell cargo to build only dependencies, there still might be multiple versions of a dependency in the target.</p>



<a name="241565370"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241565370" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241565370">(Jun 04 2021 at 17:04)</a>:</h4>
<p>or do you mean, build only dependencies and use a different target?</p>



<a name="241565437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241565437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241565437">(Jun 04 2021 at 17:05)</a>:</h4>
<p>either way, yeah, cargo doesn't do that</p>



<a name="241565442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241565442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241565442">(Jun 04 2021 at 17:05)</a>:</h4>
<p><span class="user-mention silent" data-user-id="360405">Cameron Steffen</span> <a href="#narrow/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do/near/241565370">said</a>:</p>
<blockquote>
<p>or do you mean, build only dependencies and use a different target?</p>
</blockquote>
<p>yes, that's what I mean</p>



<a name="241565487"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/241565487" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#241565487">(Jun 04 2021 at 17:05)</a>:</h4>
<p><a href="https://github.com/rust-lang/cargo/issues/2644">https://github.com/rust-lang/cargo/issues/2644</a></p>



<a name="242186990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/242186990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Federico Poli <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#242186990">(Jun 10 2021 at 10:40)</a>:</h4>
<p>Cargo seems to have a nice way of checking the output of cargo commands on custom projects (<a href="https://github.com/rust-lang/cargo/blob/b3475e6df9f9d0b3e61c84a5746f7dc872368637/tests/testsuite/build.rs#L259-L276">example</a>). Maybe it can be reused.</p>



<a name="242203979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/242203979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#242203979">(Jun 10 2021 at 13:18)</a>:</h4>
<p>Yes, <code>cargo --message-format</code> would work well. The problem with that is when Clippy tests are run in tree with rustc bootstrapping. They have a whole bunch of custom parameters for running cargo. If we run cargo in our tests, outside of rustc bootstrapping's control, it doesn't work well.</p>



<a name="242204146"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/242204146" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#242204146">(Jun 10 2021 at 13:19)</a>:</h4>
<p>I think someone with deeper knowledge of rustc bootstrapping would have to come up with a clean solution.</p>



<a name="242204795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/242204795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#242204795">(Jun 10 2021 at 13:24)</a>:</h4>
<p>This was previously attempted at <a href="https://github.com/rust-lang/rust-clippy/issues/5121">rust-lang/rust-clippy#5121</a> and reverted at <a href="https://github.com/rust-lang/rust-clippy/issues/5145">rust-lang/rust-clippy#5145</a>.</p>



<a name="242208735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/242208735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#242208735">(Jun 10 2021 at 13:48)</a>:</h4>
<p>I'm going to open an issue to summarize the problem and history</p>



<a name="242233044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257328-clippy/topic/ui%20extern%20crates...what%20to%20do/near/242233044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cameron Steffen <a href="https://rust-lang.github.io/zulip_archive/stream/257328-clippy/topic/ui.20extern.20crates.2E.2E.2Ewhat.20to.20do.html#242233044">(Jun 10 2021 at 16:22)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust-clippy/issues/7343">https://github.com/rust-lang/rust-clippy/issues/7343</a></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>